home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trading on the Edge
/
Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin
/
pc
/
mac_file
/
vendor_d
/
neuralwa
/
nw2v50
/
usercio.c
< prev
next >
Wrap
Text File
|
1993-08-23
|
8KB
|
338 lines
/* usercio.c */
/************************************************************************
* Copyright(C) 1987-1992 NeuralWare Inc *
* Penn Center West, IV-227, Pittsburgh, PA 15276 *
* Telephone: (412) 787-8222 FAX: (412) 787-8220 *
* *
* All rights reserved. No part of this program may be reproduced, *
* stored in a retrieval system, or transmitted, in any form or by any *
* means, electronic, mechanical, photocopying, recording or otherwise *
* without the prior written permission of the copyright owner, *
* NeuralWare, Inc. *
* *
* PROPRIETARY NOTICE *
* *
* This document is the property of NeuralWare, Inc. and contains *
* trade-secrets and other proprietary information. The information *
* herein is reserved as proprietary to NeuralWare, and is not to be *
* published, reproduced, copied, disclosed, used, or reverse *
* engineered without the express written consent of a duly authorized *
* representative of NeuralWare. *
************************************************************************
*/
/*******************************************************************/
/* */
/* usercio.c - Sample User IO program illustrating use of */
/* commands from NeuralWorks. A User program */
/* must provide all these functions */
/* */
/* Author: John C. Fairman August 31, 1990 */
/* Copyright 1990 by NeuralWare Inc. */
/* */
/* $Author : $ */
/* $Date : $ */
/* $Source : $ */
/* $Revision : $ */
/* $Log : $ */
/* */
/*******************************************************************/
#define UIO_SERVER 1
#define SERVER_EMULATOR_FILE 1
#define SKIP_COMPAT_DATA 1
#include "userutl.h"
#include "uio_strc.h"
#include "uio_tran.h"
#include "uio_reqs.pro"
#include "uio_cmds.pro"
#ifdef MAC
#include "macuio.redef"
#endif
/*******************************************************************/
/* */
/* Functions necessary for handling the User I/O package itself. */
/* */
/*******************************************************************/
/* FUNCTION */
NINT UIO_Init(file)
TEXT *file;
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/**/
/* FUNCTION */
NINT UIO_Term(process)
NINT process;
{
PutStr( "bye bye\n" );
return(UIO_OK);
}
/* FUNCTION */
NINT UIO_Attention()
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/*******************************************************************/
/* */
/* Functions necessary for handling a learning session. */
/* */
/*******************************************************************/
/* FUNCTION */
NINT UIO_Learn_Start()
{
ug_msgio( "Learning", 9, 1 );
return(UIO_OK);
}
/**/
/* FUNCTION */
NINT UIO_Learn_Input(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
char *sp; /* string pointer */
int wx; /* work index */
NINT ret_val = UIO_OK;
PutStr( "Enter Two Digits (ex: 00) as input or 'E' End XOR: " );
sp = GetStr();
/* Terminate learning if user types 'E' */
if ( *sp == 'e' || *sp == 'E' ) {
ret_val = UIO_ERROR;
goto rtrn;
}
for( wx=0; wx < nPEs; wx++, sp++ ) {
while( *sp != '\0' && *sp <= ' ' )
sp++; /* skip white space */
if ( *sp == '\0' ) break; /* no more data */
Datap[wx] = (*sp=='0'? 0.0:1.0); /* set data */
}
while( wx < nPEs ) Datap[wx++] = 0.0; /* no data for these */
rtrn:
return(ret_val);
}
/* FUNCTION */
NINT UIO_Learn_Output(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
char *sp; /* string pointer */
int wx; /* work index */
NINT ret_val = UIO_OK;
PutStr( "Enter desired Output as a single digit: " );
sp = GetStr();
wx = 0;
while( *sp != '\0' && *sp <= ' ' )
sp++; /* skip white space */
Datap[wx++] = (*sp=='0'? 0.0:1.0); /* set data */
while( wx < nPEs ) Datap[wx++] = 0.0; /* no data for these */
return(ret_val);
}
/**/
/* FUNCTION */
NINT UIO_Learn_Result(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/* FUNCTION */
NINT UIO_Learn_End()
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/**/
/*******************************************************************/
/* */
/* Functions necessary for handling a recall or testing session. */
/* */
/*******************************************************************/
/* FUNCTION */
NINT UIO_Recall_Start()
{
ug_msgio( "Recalling", 10, 1 );
return(UIO_OK);
}
/* FUNCTION */
NINT UIO_Read(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
NINT ret_val = UIO_OK;
return( UIO_Learn_Input(LayN, nPEs, Datap ) );
}
/**/
/* FUNCTION */
NINT UIO_Write(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
char buf[100]; /* work buffer */
sprintf( buf, "Result is: %.3f\n", Datap[0] );
PutStr( buf );
return( UIO_UPDATE); /* update display */
}
/* FUNCTION */
NINT UIO_Write_Step(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/**/
/* FUNCTION */
NINT UIO_Recall_Test(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
return(UIO_Learn_Output(LayN, nPEs, Datap));
}
/* FUNCTION */
NINT UIO_Recall_End()
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/**/
/*******************************************************************/
/* */
/* Other miscelaneous functions. */
/* */
/*******************************************************************/
/* FUNCTION */
NINT UIO_Instrument(Instrument_id, nDataElems, DataElemp)
NINT Instrument_id;
NINT nDataElems;
SREAL *DataElemp;
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/* FUNCTION */
NINT UIO_ObjFunc(eoeflag, DataElemp)
NINT eoeflag;
SREAL *DataElemp;
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/* FUNCTION */
NINT UIO_Rewind()
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}
/**/
/* FUNCTION */
NINT UIO_Explain(LayN, nPEs, Datap)
NINT LayN;
NINT nPEs;
SREAL *Datap;
{
NINT ret_val = UIO_OK;
/* USER TO PLACE CODE HERE */
return(ret_val);
}